Automating Experimentation with Distributed Systems Using Generative Techniques
نویسندگان
چکیده
failure scenario. Such a model regards node failure and recovery as random accidents in the system execution environment. However, for a distributed system deployed for real use, the exceptions are frequently caused by the incorrect operation or the heavy load on the distributed system. We further used Weevil to conduct an experiment with the CFS service network under such realistic failure scenarios. In real setup of a distributed system, the system components with heavier load have higher probability to fail than the others. This experiment is to model such a fault injection scenario that is reactive to the real system execution status. Our experimental goal is to testify that the failure of the heavier-loaded CFS nodes influences more on the system performance than that of the randomly selected CFS nodes. We considered a 100-node CFS system distributed on a 50-host Emulab testbed with 2,000 files already inserted. Each CFS node had a user actor constantly issuing 50 retrieval requests for randomly chosen file keys. We reused the user workload generated for the previous continuous fault injection experiment. Since we cannot decide which CFS node to fail before trial execution, we associated an environment actor with each CFS node. Each actor’s portion of the environment workload is a list of conditional “STARTUP” and “BRINGDOWN” actions in a constant interval. Whether they would be issued or not depends on the two variables of the associated CFS node, the rpcrate and the liveornot. If the node’s remote pro-
منابع مشابه
Weevil: a Tool to Automate Experimentation With Distributed Systems ; CU-CS-980-04
Engineering distributed systems is a challenging activity. This is partly due to the intrinsic complexity of distributed systems, and partly due to the practical obstacles that developers face when evaluating and tuning their design and implementation decisions. This paper addresses the latter aspect, providing techniques for software engineers to automate two key elements of the experimentatio...
متن کاملWeevil: a Tool to Automate Experimentation With Distributed Systems
Engineering distributed systems is a challenging activity. This is partly due to the intrinsic complexity of distributed systems, and partly due to the practical obstacles that developers face when evaluating and tuning their design and implementation decisions. This paper addresses the latter aspect, providing techniques for software engineers to automate two key elements of the experimentatio...
متن کاملIntegrating a Performance Analysis Kit into Model-Driven Development
Model-driven development is a generative programming technique in which domain-specific features and engineering decisions are described using models of desired properties and behavior at various levels of abstraction. Producing models at the requisite level of specificity is an expensive undertaking. Generally, organizations offset the costs associated with generative techniques like model-dri...
متن کاملAutomating DDoS Experimentation
While the DETER testbed provides a safe environment and basic tools for security experimentation, researchers face a significant challenge in assembling the testbed pieces and tools into realistic and complete experimental scenarios. In this paper, we describe our work on automating experimentation for distributed denial-ofservice attacks. We developed the following automation tools: (1) the Ex...
متن کاملA Generative Approach to Framework Instantiation
This paper describes the OBS Instantiation Environment, which demonstrates a generative approach to automating the instantiation process of a component-based framework. The process is automated in the sense that designers configure and assemble the framework components using intuitive visual operations in a GUI-based environment. Their configuration actions are then used to automatically genera...
متن کامل